 CC=pasmo
 ZIPPER=exomizer
 ZFLAGS=raw -o
 CAT=cat
 GREP=grep
 LINKER=buildtzx
 MODULOS= clean compressed main
 #CFLAGS=--tzxbas
 LFLAGS=-l 2 -i ./template.txt -o ./OABEA.tzx -n Brunilda
 #EMULATOR=~/.wine/drive_c/Program\ Files\ \(x86\)/Spectaculator/Spectaculator.exe
 #EMULATOR=~/.wine/drive_c/Archivos\ de\ programa/Spectaculator/Spectaculator.exe
 #EFLAGS=
 EMULATOR=fuse 
 FLAGS=--machine 128

 .PHONY : clean

 all: $(MODULOS) 
 
 compressed: 
	$(CC) tileset1.asm ../bin/tileset1.bin
	$(ZIPPER) $(ZFLAGS) ../bin/tileset1 ../bin/tileset1.bin
	$(RM) ../bin/tileset1.bin
	
	$(CC) tileset2.asm ../bin/tileset2.bin
	$(ZIPPER) $(ZFLAGS) ../bin/tileset2 ../bin/tileset2.bin
	$(RM) ../bin/tileset2.bin
	
	$(CC) tileset3.asm ../bin/tileset3.bin
	$(ZIPPER) $(ZFLAGS) ../bin/tileset3 ../bin/tileset3.bin
	$(RM) ../bin/tileset3.bin
	
	$(CC) tileset4.asm ../bin/tileset4.bin
	$(ZIPPER) $(ZFLAGS) ../bin/tileset4 ../bin/tileset4.bin
	$(RM) ../bin/tileset4.bin

	$(CC) tileset5.asm ../bin/tileset5.bin
	$(ZIPPER) $(ZFLAGS) ../bin/tileset5 ../bin/tileset5.bin
	$(RM) ../bin/tileset5.bin

	$(ZIPPER) $(ZFLAGS) ../bin/map1 ../map/mapa_01.map
	$(CC) ./map_tables/map1_doors.asm ../bin/map1_doors.bin
	$(ZIPPER) $(ZFLAGS) ../bin/map1_doors ../bin/map1_doors.bin
	$(RM) ../bin/map1_doors.bin
	$(CC) ./map_tables/map1_signs.asm ../bin/map1_signs.bin

	$(ZIPPER) $(ZFLAGS) ../bin/map2 ../map/mapa_02.map
	$(CC) ./map_tables/map2_doors.asm ../bin/map2_doors.bin
	$(ZIPPER) $(ZFLAGS) ../bin/map2_doors ../bin/map2_doors.bin
	$(RM) ../bin/map2_doors.bin
	$(CC) ./map_tables/map2_signs.asm ../bin/map2_signs.bin

	$(ZIPPER) $(ZFLAGS) ../bin/map3 ../map/mapa_03.map
	$(CC) ./map_tables/map3_doors.asm ../bin/map3_doors.bin
	$(ZIPPER) $(ZFLAGS) ../bin/map3_doors ../bin/map3_doors.bin
	$(RM) ../bin/map3_doors.bin
	$(CC) ./map_tables/map3_signs.asm ../bin/map3_signs.bin

	$(ZIPPER) $(ZFLAGS) ../bin/map4 ../map/mapa_04.map
	$(CC) ./map_tables/map4_doors.asm ../bin/map4_doors.bin
	$(ZIPPER) $(ZFLAGS) ../bin/map4_doors ../bin/map4_doors.bin
	$(RM) ../bin/map4_doors.bin
	$(CC) ./map_tables/map4_signs.asm ../bin/map4_signs.bin

	$(ZIPPER) $(ZFLAGS) ../bin/map5 ../map/mapa_05.map
	$(CC) ./map_tables/map5_doors.asm ../bin/map5_doors.bin
	$(ZIPPER) $(ZFLAGS) ../bin/map5_doors ../bin/map5_doors.bin
	$(RM) ../bin/map5_doors.bin
	$(CC) ./map_tables/map5_signs.asm ../bin/map5_signs.bin

	$(CC) isr_table.asm ../bin/isr_table.bin
	$(CC) light_table.asm ../bin/light_table.bin ./sym/light_table.sym

	$(CC) fight_graphics.asm ../bin/fight_graphics.bin ./sym/fight_graphics.sym
	$(ZIPPER) $(ZFLAGS) ../bin/fight_graphics ../bin/fight_graphics.bin
	$(RM) ../bin/fight_graphics.bin

	$(ZIPPER) $(ZFLAGS) ../bin/fight_scr.bin ../gfx/fight.scr

	$(ZIPPER) $(ZFLAGS) ../bin/title.bin ../gfx/title.scr
	$(ZIPPER) $(ZFLAGS) ../bin/title_eng.bin ../gfx/title_eng.scr
	$(ZIPPER) $(ZFLAGS) ../bin/title_gal.bin ../gfx/title_gal.scr
	$(ZIPPER) $(ZFLAGS) ../bin/title_ita.bin ../gfx/title_ita.scr
	$(ZIPPER) $(ZFLAGS) ../bin/title_cat.bin ../gfx/title_cat.scr
	$(ZIPPER) $(ZFLAGS) ../bin/title_eus.bin ../gfx/title_eus.scr

	$(ZIPPER) $(ZFLAGS) ../bin/credits.bin ../gfx/credits.scr
	$(ZIPPER) $(ZFLAGS) ../bin/creditos_gal.bin ../gfx/creditos_gal.scr
	$(ZIPPER) $(ZFLAGS) ../bin/credits_ita.bin ../gfx/credits_ita.scr
	$(ZIPPER) $(ZFLAGS) ../bin/creditos.bin ../gfx/creditos.scr
	$(ZIPPER) $(ZFLAGS) ../bin/creditos_cat.bin ../gfx/creditos_cat.scr
	$(ZIPPER) $(ZFLAGS) ../bin/creditos_cat2.bin ../gfx/creditos_cat2.scr
	$(ZIPPER) $(ZFLAGS) ../bin/creditos_eus.bin ../gfx/creditos_eus.scr
	
	$(CC) ../gfx/asm/CAPITULO.asm ../bin/capitulo.bin
	$(ZIPPER) $(ZFLAGS) ../bin/capitulo ../bin/capitulo.bin
	
	$(CC) ../gfx/asm/CAPITOLO.asm ../bin/capitolo.bin
	$(ZIPPER) $(ZFLAGS) ../bin/capitolo ../bin/capitolo.bin
	
	$(CC) ../gfx/asm/CAPITOL.asm ../bin/capitol.bin
	$(ZIPPER) $(ZFLAGS) ../bin/capitol ../bin/capitol.bin
	
	$(CC) ../gfx/asm/CHAPTER.asm ../bin/chapter.bin
	$(ZIPPER) $(ZFLAGS) ../bin/chapter ../bin/chapter.bin
	
	$(CC) ../gfx/asm/KAPITULU.asm ../bin/kapitulu.bin
	$(ZIPPER) $(ZFLAGS) ../bin/kapitulu ../bin/kapitulu.bin
	
	$(CC) ../gfx/asm/NUM_1.asm ../bin/num_1.bin
	$(ZIPPER) $(ZFLAGS) ../bin/num_1 ../bin/num_1.bin
	
	$(CC) ../gfx/asm/NUM_2.asm ../bin/num_2.bin
	$(ZIPPER) $(ZFLAGS) ../bin/num_2 ../bin/num_2.bin
	
	$(CC) ../gfx/asm/NUM_3.asm ../bin/num_3.bin
	$(ZIPPER) $(ZFLAGS) ../bin/num_3 ../bin/num_3.bin
	
	$(CC) ../gfx/asm/NUM_4.asm ../bin/num_4.bin
	$(ZIPPER) $(ZFLAGS) ../bin/num_4 ../bin/num_4.bin
		
	$(CC) ../gfx/asm/NUM_5.asm ../bin/num_5.bin
	$(ZIPPER) $(ZFLAGS) ../bin/num_5 ../bin/num_5.bin

	
	$(ZIPPER) $(ZFLAGS) ../bin/bosque_meiga.mus.cmp ../mus/bosque_meiga.mus
	$(ZIPPER) $(ZFLAGS) ../bin/cuevas.mus.cmp ../mus/cuevas.mus
	$(ZIPPER) $(ZFLAGS) ../bin/rapida.mus.cmp  ../mus/rapida.mus
	$(ZIPPER) $(ZFLAGS) ../bin/dmaster.mus.cmp  ../mus/dmaster.mus
	$(ZIPPER) $(ZFLAGS) ../bin/iglesia.mus.cmp  ../mus/iglesia.mus
	$(ZIPPER) $(ZFLAGS) ../bin/lastpint.mus.cmp  ../mus/lastpint.mus
	$(ZIPPER) $(ZFLAGS) ../bin/noname.mus.cmp  ../mus/noname.mus
	$(ZIPPER) $(ZFLAGS) ../bin/brunilda.mus.cmp  ../mus/brunilda.mus
	$(ZIPPER) $(ZFLAGS) ../bin/montepozas.mus.cmp  ../mus/montepozas.mus
	$(ZIPPER) $(ZFLAGS) ../bin/lastpint.mus.cmp  ../mus/lastpint.mus
	$(ZIPPER) $(ZFLAGS) ../bin/requiem.mus.cmp  ../mus/requiem.mus
	$(ZIPPER) $(ZFLAGS) ../bin/mist.mus.cmp  ../mus/mist2.mus
	$(ZIPPER) $(ZFLAGS) ../bin/negrasombra.mus.cmp  ../mus/negrasombra.mus
	$(ZIPPER) $(ZFLAGS) ../bin/colina.mus.cmp  ../mus/colina.mus

	exoopt f1 5f64 ../bin/tileset1 ../bin/tileset2 ../bin/tileset3 ../bin/tileset4 ../bin/tileset5 ../bin/map1  ../bin/map2 ../bin/map3 ../bin/map4 ../bin/map5 ../bin/map1_doors ../bin/map2_doors ../bin/map3_doors ../bin/map4_doors ../bin/map5_doors ../bin/fight_graphics ../bin/fight_scr.bin ../bin/title.bin  ../bin/title_eng.bin  ../bin/title_ita.bin ../bin/title_gal.bin ../bin/title_cat.bin ../bin/title_eus.bin ../bin/credits.bin ../bin/credits_ita.bin ../bin/creditos_gal.bin  ../bin/creditos_cat.bin  ../bin/creditos_cat2.bin ../bin/creditos.bin ../bin/creditos_eus.bin ../bin/capitulo ../bin/chapter  ../bin/capitolo ../bin/capitol ../bin/kapitulu ../bin/num_1 ../bin/num_2 ../bin/num_3 ../bin/num_4 ../bin/num_5 ../bin/bosque_meiga.mus.cmp ../bin/cuevas.mus.cmp ../bin/rapida.mus.cmp ../bin/dmaster.mus.cmp ../bin/iglesia.mus.cmp ../bin/lastpint.mus.cmp ../bin/noname.mus.cmp ../bin/brunilda.mus.cmp ../bin/montepozas.mus.cmp ../bin/lastpint.mus.cmp ../bin/requiem.mus.cmp ../bin/mist.mus.cmp ../bin/negrasombra.mus.cmp ../bin/colina.mus.cmp 

 main: main.asm isr.asm page1.asm page3.asm page4.asm light_table.asm
	$(CC) page1.asm ../bin/page1.bin ./sym/page1.sym
	./PenText texts.txt mess/MESS
	./PenText texts_ITA.txt mess/MESS_ITA
	./PenText texts_ENG.txt mess/MESS_ENG
	./PenText texts_SEJUAN.txt mess/MESS_SEJUAN
	./PenText texts_GAL.txt mess/MESS_GAL
	./PenText texts_CAT.txt mess/MESS_CAT
	./PenText texts_CAT2.txt mess/MESS_CAT2
	./PenText texts_EUS.txt mess/MESS_EUS
	$(CC) page4.asm ../bin/page4.bin ./sym/page4.sym
	$(CC) main.asm ../bin/main.bin ./sym/main.sym

	$(RM) ./sym/deexo.sym
	$(GREP) DEEXO ./sym/main.sym >> ./sym/deexo.sym
	
	$(CC) wyzplayer.asm ../bin/wyzplayer.bin ./sym/wyzplayer.sym
	$(RM) ~tmppre.*
	$(CC) page3.asm ../bin/page3.bin ./sym/page3.sym

	$(CC) pre_init.asm ../bin/pre_init.bin ./sym/pre_init.sym
	$(CC) isr.asm ../bin/isr.bin
	export PACKER="wine /usr/local/bin/appack"
	$(LINKER) $(LFLAGS)

 run: OABEA.tzx
	$(EMULATOR) OABEA.tzx $(EFLAGS)

 clean:
	$(RM) OABEA.tzx
	$(RM) ../bin/*
